package com.ning.parking.domain.dto;

import com.scsonic.common.enums.StatusEnum;
import com.scsonic.common.enums.parking.CarTypeEnum;
import com.scsonic.common.enums.parking.LicenseColorEnum;
import com.scsonic.common.enums.parking.ParkingCarTypeEnum;
import com.scsonic.common.enums.parking.ParkingTypeEnum;
import com.scsonic.common.enums.parklot.DrivewayTypeEnum;
import com.scsonic.common.enums.trade.PayStatusEnum;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

import java.util.Date;

/**
 * @author peng can
 * @date 2023/4/8
 */
@Slf4j
@Data
public class ParkingDTO {

    /**
     * 通道id
     */
    private String drivewayId;

    /**
     * 通道类型
     */
    private DrivewayTypeEnum drivewayType;

    /**
     * 通道名称
     */
    private String drivewayName;

    /**
     * 设备IP地址
     */
    private String ip;

    /**
     * 抓拍时间，例：yyyy-MM-dd HH:mm:ss
     */
    private Date captureTime;

    /**
     * 车牌号码（UTF-8编码）
     */
    private String carLicense;

    /**
     * 车牌置信度（0-100）
     */
    private int confidence;

    /**
     * 是否为无车牌
     */
    private boolean nonePlate;

    /**
     * 车辆类型
     */
    private CarTypeEnum carType;

    /**
     * 车牌颜色
     */
    private LicenseColorEnum licenseColor=LicenseColorEnum.BLUE;

    /**
     * 车牌是否修正（0：否，1：是）
     */
    private StatusEnum licenseRevise;

    /**
     * 车辆图片数据
     */
    private byte[] carImage;

    /**
     * 车辆图片地址
     */
    private String carImageUrl;

    /**
     * 车牌图片数据
     */
    private byte[] licenseImage;

    /**
     * 车牌图片数据
     */
    private String licenseImageUrl;

    /**
     * 停车类型
     */
    private ParkingTypeEnum parkingType;

    /**
     * 停车车辆类型
     */
    private ParkingCarTypeEnum parkingCarType;

    /**
     * 停车车辆类型id
     */
    private Long carTypeId;

    /**
     * 停车车辆类型名称
     */
    private String carTypeName;


    /**
     * 月租/免费车 是否超停 (0：否，1：是)
     */
    private StatusEnum exceedCar;

    /**
     * 全场还是子厂(月租)
     */
    private StatusEnum allPark;

    /**
     * 超停车牌多个","分隔
     */
    private String exceedCarLicenses;

    /**
     * 车场id
     */
    private Long parkingLotId;

    /**
     * 车场名称
     */
    private String parkingLotName;

    /**
     * 父场停车场ID
     */
    private Long parentParkingLotId;

    /**
     * 主车场名称
     */
    private String parentParkingLotName;

    /**
     * 是否为子场 0 否 1 是
     */
    private StatusEnum subFlag;

    /**
     * 是否允许通行 1 允许，0 禁止
     */
    private StatusEnum pass;

    /**
     * 停车记录
     */
    private Long recordId;

    /**
     * 是否为导入数据
     */
    private Boolean isImportInfo = Boolean.FALSE;

    private PayStatusEnum payStatus;

    /**
     * 离场匹配抄牌
     */
    private StatusEnum exitMatchClean;

    /**
     * 是否是多次重复识别
     */
    private StatusEnum repeatRecognize;

    /**
     * 最外层是否更新最后抓拍
     */
    private Boolean updateLastInfo;

}
